System and method for notifying contacts of proximity to retailer

ABSTRACT

The present teachings a non-transitory computer storage media storing computer-executable instructions associated with a method. The method includes: assigning one or more contacts to a retailer, the retailer being defined by a location, in a database table; tracking a location of a user mobile device automatically generating, without interaction of a user, a first notification, at least informing the one or more contacts of a location of the user mobile device based on an associated protocol; automatically and substantially instantaneously transmitting, without interaction of the user, the first notification to the one or more contact mobile devices assigned to the location; and receiving a shopping list from the one or more contact mobile devices.

FIELD

The present teachings generally relate to a system and method fornotifying contacts of a user's proximity to a particular locus. Thesystem and method may be particularly advantageous in notifying contactsof a user's proximity to retailers in order to prompt the contacts tomake purchasing requests of the user.

BACKGROUND

Shopping to maintain a household is commonly more complicated thanmerely generating a shopping list and completing that shopping list in asingle trip. In addition to the need for visiting a plurality ofretailers (e.g., grocery, hardware, pharmacy, electronics, and the like)the needs for members of a familial or social network may be immediate,unknown to the shopper when a retailer is visited, and even evolving asthe day or week progresses. For example, a shopper may pass by or visita retailer location, on their way home from work, unbeknownst to amember of the household who the shopper provides for, while there is animmediate need by that member of the household for a product thatretailer provides. As a result, more shopping trips are needed tosatisfy the needs of all members of a familial or social network. Thisproblem is particularly pronounced when the shopper leads a busylifestyle, the shopper needs to provide for a number of differentpeople, needs for products or services are numerous, the shopper's homeor work is remote from retailers of interest, or perhaps the shopper isproviding for different familial and/or social networks.

Some location-based notifications are sent only to the individualentering and/or remaining in a location. Notifications can act to remindan individual that an action is desired at a particular location such aspurchasing an item or contacting someone. For example, Google Keep andApple iPhone Reminders allow for an individual to set location-basednotifications that activate to remind the individual who set thereminder to carry out a task. However, reminders sent to an individualwho enters a location do not obviate the extra steps (e.g., unlocking amobile phone, selecting an application, scrolling through a contactlist, and typing out an SMS message) of interacting with a mobile deviceand formulating a message to one or perhaps many people. The time andfocus necessary to formulate messages and perhaps carry on aconversation, whether by voice call or SMS, detracts from the efficiencyof the individual completing the tasks sought out at the location.

Other location-based notification systems are concerned with advertisingone's personal life or monitoring another person's activity. In otherwords, these systems operate for the sake of passive monitoring ratherthan active bilateral communication between a person on-location and oneor more persons in a personalized network. For example, U.S. Pat. No.9,037,485 B2 teaches sending notifications to groups of users if anindividual stays at a particular location for a requisite period oftime. However, broadcasting location information, triggered by a stay atany number of location types, to a broad audience does not providemanagement tools for task-specific actions (e.g., obtaining the shoppingneeds for a household). Notifications generated in response to a stay atany type of location can lead to fatigue for those monitoring thelocations of others. The lack of tools to streamline notifications andcommunication for task-specific actions, such as setting particularlocations for which a notification is desired, leads to oversaturationof information.

Other location-based notification systems rely on manual user input onindividual bases for designating a location. For example, U.S. Pat. No.8,874,129 B2 teaches manually drawing a boundary line in a digitalformat (e.g., digital map) or manually inputting coordinates toestablish a geo-fence. However, the need for individualized manual inputreduces the convenience of the notification system, particularly if thenotification is desired to be activated on a routine basis and by aplurality of individuals. Some points of interest are substitutable forother points of interest (e.g., two different grocery store chains suchas Kroger® and Meijer®) and some points of interest operate business inseveral locations within a certain geographical scope (e.g., a town).Regular commutes to work or to see family and friends can directindividuals through many different routes and through many differentgeographic areas. Individualized manual input does not address thecomplexity of these factors to streamline communication channels.

There is a need for a notification system whereby members of a familialor social network are informed when a shopper passes by or enters aretailer. There is a need for a streamlined communication system thatdirects shoppers to a single interface to view the needs of one or moreof their contacts. There is a need for contacts of a shopper toaccurately request products or services. There is a need for anotification system that automatically notifies the contacts of ashopper's proximity to a particular retailer without a shopper having toinitiate a message or call or remember to message or call contacts thatmay be interested.

SUMMARY

The present disclosure relates to one or more computer storage mediastoring computer-executable instructions that, when executed by acomputing device having a processor, cause the computing device toperform a method that provides concise and facilitated communicationbetween a user and one or more contacts, the method comprising: a)receiving a beacon signal, from a beacon signal provider when a usermobile device is within a range of the beacon signal provider; b)generating a first notification to transmit from the user mobile deviceto one or more contact mobile devices based on an associated protocol;c) transmitting the first notification to the one or more contact mobiledevices; and d) receiving a shopping request from the one or morecontact mobile devices; wherein communication between the user and theone or more contacts is automatically facilitated so that the user isrelieved of establishing and maintaining communication with one or morecontacts; and wherein communication with the one or more contacts by thefirst notification is undertaken substantially instantaneously uponreceiving the beacon signal.

The present disclosure relates to one or more computer storage mediastoring computer-executable instructions that, when executed by acomputing device having a processor, cause the computing device toperform a method that provides concise and facilitated communicationbetween a user and one or more contacts, the method comprising:receiving a beacon signal, from a beacon when a user mobile device iswithin a range of the beacon, generating a first notification totransmit from the user mobile device to one or more contact mobiledevices based on an associated protocol; transmitting the firstnotification to the one or more contact mobile devices; and receiving ashopping request (e.g., shopping list) from the one or more contactmobile devices; wherein communication between the user and the one ormore contacts is automatically facilitated so that the user is relievedof establishing and maintaining communication with one or more contactswhile engaged with sensory inputs and motor functions associated withdriving, shopping, or both wherein communication with the one or morecontacts by the first notification is undertaken substantiallyinstantaneously; and wherein the communication with the user by theshopping request reduces a chance that goods and/or services areoverlooked by the user when assembling the goods and/or services.

The present disclosure relates to a system for providing a firstnotification to one or more contacts of a user, comprising: a usermobile device, including one or more user processors and one or moreuser computer storage media, one or more contact mobile devices, each ofwhich including one or more contact processors and one or more contactcomputer storage media, one or more beacons, one or more retailerdevices, one or more retailer databases, and one or more networks;wherein the one or more user computer storage media includes a contactlist.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an overhead view of a user mobile device in relationto a locus.

FIG. 2 illustrates a schematic view of cellular network.

FIG. 3 illustrates a schematic view of an internet network.

FIG. 4 illustrates a schematic view of a system of the presentdisclosure.

FIG. 5 illustrates a flowchart of a method of the present disclosure.

FIG. 6A illustrates a view of a user GUI.

FIG. 6B illustrates a view of a user GUI.

FIG. 6C illustrates a view of a user GUI.

FIG. 6D illustrates a view of a user GUI.

FIG. 6E illustrates a view of a user GUI.

FIG. 7 illustrates a flowchart of a method of the present disclosure.

FIG. 8A illustrates a view of a user GUI.

FIG. 8B illustrates a view of a user GUI.

FIG. 8C illustrates a view of a user GUI.

FIG. 8D illustrates a view of a user GUI.

FIG. 9 illustrates a flowchart of a method of the present disclosure.

FIG. 10 illustrates a view of a user GUI.

FIG. 11 illustrates a database table.

DETAILED DESCRIPTION

The present teachings meet one or more of the above needs by theimproved system and method described herein. The explanations andillustrations presented herein are intended to acquaint others skilledin the art with the teachings, its principles, and its practicalapplication. Those skilled in the art may adapt and apply the teachingsin its numerous forms, as may be best suited to the requirements of aparticular use. Accordingly, the specific embodiments of the presentteachings as set forth are not intended as being exhaustive or limitingof the teachings The scope of the teachings should, therefore, bedetermined not with reference to the above description, but shouldinstead be determined with reference to the appended claims, along withthe full scope of equivalents to which such claims are entitled. Thedisclosures of all articles and references, including patentapplications and publications, are incorporated by reference for allpurposes. Other combinations are also possible as will be gleaned fromthe following claims, which are also hereby incorporated by referenceinto this written description.

The system and method of the present disclosure may be used by one ormore users (i.e., shoppers), one or more contacts, one or moreretailers, one or more third-parties, or any combination thereof Thecontacts may be members of a familial and/or social network with respectto the one or more users including but not limited to family livingwithin the same household, immediate family, extended family, neighbors,roommates, co-workers, friends, acquaintances, or any combinationthereof The system and method of the present disclosure may be used bythe user and one or more contacts of the user to enhance communication,shopping efficiency, time efficiency, monetary efficiency, or anycombination thereof, as it relates to the provision of goods and/orservices for the user and contacts using the application and linked viathe application discussed herein. Particularly, the system and method ofthe present disclosure provide for a unique and unconventional means ofcommunication that improves, between shoppers and contacts, the speed ofcommunication, the amount of information that can be conveyed in a givenperiod of time, the number of persons between which information isexchanged, or any combination thereof. For example, the system andmethod may instantly inform contacts of a proximity and/or presence of auser at a loci (e.g., retailer) and provide one or more contacts a meansto communicate shopping requests (e.g., shopping lists) to the userwhile obviating the need for the user to formulate one or more textmessages or conduct one or more calls. Furthermore, the system andmethod of the present disclosure may provide retailers with a means forobtaining useful data regarding shopping habits and/or inventory as wellas communicate with the user and/or the contacts such as informing ofthe presence or absence of products in inventory or conveying deals(e.g., sales promotions or coupons) for products.

The present disclosure provides for a unique and unconventional systemand method for a user to rapidly communicating the location of the userto contacts and contacts rapidly communicating shopping preferences.More particularly, the unique and unconventional system and methodprovides a communication channel between a user, who is located in aproximity to a retailer, and one or more contacts in a network of theuser, the contacts having a variety of shopping needs. The system andmethod obviates the time consuming task of contacting individualcontacts, either by phone or by text, and coordinating a shoppingrequest (e.g., shopping list). Contacts may be automatically notified ofa user's proximity to a retailer and contacts may be prompted to sendrequests to the user, which can be retrieved from the retailer. Thenotification to contacts may be sent substantially instantaneously uponthe user breaching a proximity of a retailer and any number of contactsmay be notified simultaneously, which result is not conventionallyobtainable by individually communicating with (e.g., texting) one orpossibly many persons in the user's personal network. The contactsnotified when the user is in proximity to a retailer may bepre-designated so the user does not forget, in the moment, about thosepersons in their network who should be reminded that the user may beabout to enter a retailer. The requests for items by the contacts may beallocated in a single application and/or GUI in order to reduce theamount of physical manipulation of computing devices (e.g., mobilephones) allowing for the user to save time and maintain focus whileshopping.

The present disclosure provides for a unique and unconventional systemand method of locating points of interest, specifically retailers, tousers. The present disclosure provides for beacons, one or more of whichmay be located in a retailer and transmit a signal to computing devices(e.g., mobile phones) within a certain range of the beacon. The range ofthe beacons may obviate the wide, perhaps overlapping ranges ofgeo-fencing, which in some instances is conventionally designated bylatitude and longitude coordinates. The range of the beacons and thecustomization thereof may be particularly advantageous in busycity-centers, shopping malls, and the like. The signal technology (e.g.,Bluetooth) utilized by the beacons also obviates the inaccuracies ofother location designations such as latitude and longitude coordinates.

System

The present teachings may relate to a system for automaticallyfacilitating communication between a user and one or more contacts uponbeing in proximity of or within a retail establishment. The system mayfacilitate communication between one or more computing devices over oneor more networks; one or more computing devices and one or more beacons;or both. The system may allow for one or more computing devices (e.g., auser's mobile device) to receive a beacon signal when the computingdevices are within a range of a beacon transmitting the beacon signal.The system may allow for one or more computing devices to receive inputfrom a user, one or more contacts, or both. The system may allow for oneor more contacts to communicate with a user, a user to communicate withone or more contacts, or both, via the application. Communicationbetween a user and one or more contacts may be automated, manual, orboth. The system may generate one or more notifications. The system maysend one or more notifications to one or more contacts from the user.The system may include one or more computing devices, one or moreprocessors, one or more storage media, one or more databases, one ormore communication modules, one or more networks, one or morecommunication hubs, one or more beacons, one or more applications, thelike, or any combination thereof.

The system may include one or more computing devices. The computingdevice may function to receive and/or transmit one or more signals,communicate with one or more beacons, convert one or more signals todata entries, to send one or more data entries to a storage medium, tostore one or more data entries, to retrieve one or more data entriesfrom a storage medium, to execute one or more computer-executableinstructions, to compute one or more algorithms, apply one or more rules(i.e., “protocol”), or any combination thereof. The computing device mayinclude or be in communication with one or more other computing devices,processors, storage media, databases, user interfaces, touch-sensitivemonitor screens, or any combination thereof. The computing device maycommunicate with one or more other computing devices, processors,storage media, databases, or any combination thereof through aninteraction interface (e.g., an application programming interface(“API”)). The computing device may be one or more personal computers(e.g., laptop or desktop), mobile devices (e.g., tablet, mobile phone,smart watch, etc.), or any combination thereof. The personal computermay be a laptop computer or a desktop computer. The mobile device may bea tablet, mobile phone, or smart watch. The computing device may be auser computing device, a contact computing device, a retailer computingdevice, or a third-party computing device.

The one or more computing devices may include one or more userinterfaces. The one or more user interfaces may function to displayinformation related to the application, receive user inputs related tothe application, transmit information related to the application, or anycombination thereof. One or more user interfaces may be located on amain computing device (i.e., the computing device having a storagemedium where the application is stored), a separate computing device(e.g., a display separate from the computing device having a storagemedium where the application is stored), or both. One or more userinterfaces may be part of one or more computing devices. One or moreuser interfaces may include one or more interfaces capable of relayinginformation (e.g., data entries) to a user, receiving information (e.g.,data signals) from a user, or both. One or more user interfaces maydisplay information related to the application. One or more userinterfaces may display information from one or more algorithms,applications, or both. One or more user interfaces may allow forinputting of information related to the application. Information mayinclude a user name, password, one or more instruction signals, thelike, or any combination thereof The one or more user interfaces mayinclude one or more graphic user interfaces (“GUI”). The one or moregraphic interfaces may include one or more screens. The one or morescreens may be a screen located directly on the main computing device,another computing device, or both. The one or more screens may be ascreen on a mobile computing device, non-mobile computing device, orboth. The one or more graphic user interfaces may include and/or be incommunication with one or more user input devices. The one or more userinput devices may allow for receiving one or more inputs (i.e.,“instruction signals”) from a user. The one or more input devices mayinclude one or more buttons, wheels, keyboards, switches, mice,joysticks, touch pads (i.e., a touch-sensitive area, provided as aseparate peripheral or integrated into a computing device, that does notdisplay visual output (e.g., the Intuos line of tablets available fromWacom®)), touch-sensitive monitor screens, microphones, the like, or anycombination thereof. The one or more input devices may be integratedwith a graphic user interface. The audio interface (i.e., microphones)may function to project sound to a user and/or receive sound from auser. The audio interface may include audio circuitry, one or morespeakers (i.e., “audio peripheral”, devices that convert electricalsignal to human-audible sound waves), one or more microphones (i.e.,“audio peripheral”, devices that convert human-audible sound waves toelectrical signals). The audio circuitry may transmit electrical signalfrom one or more computers to one or more audio peripherals. The one ormore touch-sensitive monitor screens may function to accept input from auser based on haptic and/or tactile contact. The touch-sensitive monitorscreen may include a screen, a display controller, or both. Thetouch-sensitive monitor screen may detect contact on the screen andconvert the detected contact into interaction with interface objects(e.g., buttons, icons, web pages, images, the like, or any combinationthereof) that are displayed on the touch-sensitive monitor screen. Thetouch-sensitive monitor screen may utilize LCD (liquid crystal display)technology, LPD (light emitting polymer display) technology, LED (lightemitting diode) technology, or OLED (organic light emitting diode)technology. The touch-sensitive monitor screens may detect contact viaany suitable touch sensing technology such as capacitive (e.g.,projected capacitive technology), resistive, infrared, and surfaceacoustic wave technologies. An example oftouch technology may includebut is not limited to that used in the iPhone®, iPod Touch®, and iPad®from Apple Inc. of Cupertino, Calif. The touch-sensitive monitor screenmay detect contact from an appendage (e.g., finger), an object (e.g., astylus), or both. The signal generated from touch finger-based input maybe converted into a precise pointer/cursor position or command forperforming the actions desired by the user.

The user interface may include one or more interface metaphors (i.e.,“interface objects”). The interface metaphor may function to give theuser instantaneous knowledge about how to interact with the userinterface. The interface metaphor may include visuals, actions, andprocedures that exploit specific knowledge that users may alreadypossess from other domains of life. An example of an interface metaphormay be a file folder icon. A user generally intuitively knows a filefolder icon contains one or more individual files. Another example of aninterface metaphor may be one or more tabs in a window of a dataprocessing program (e.g., Microsoft Excel), which a user intuitivelyknows to correspond with different pages. Another example of aninterface metaphor may be a button displayed on a touch-sensitivemonitor screen. A user generally intuitively knows that upon pressing abutton, an associated function may be initiated.

A user interface may display one or more menus. The one or more menusmay function to arrange related interface metaphors on a single userinterface and guide the user and/or contacts in navigating theapplication. The one or more menus may include one or more saved locimenus, customization menus, contact information menus, main menus, alertscreens, the like, or any combination thereof The data associated witheach menu may be derived from the one or more databases and/orinformation inputted by the user, the one or more contacts, or both. Thealert screen may prompt the user to send a notification to the contactthat the user is in proximity to a retailer. The alert screen maydisplay one or more icons that give the user the option whether or notto notify one or more contacts. The main menu may prompt a contact tosend a notification to the user. The main menu may display an icon thatprompts one or more contacts to notify the user that the contact needsanything. The saved loci menu may display one or more loci. The savedloci menu may include icons that indicate whether there are contactsassigned to the locus. The icon may indicate how many contacts areassigned to the locus. The contact assignment with the loci may beprovided by data from one or more databases and/or a contact list storedon the user's computing device. The customization menu may display oneor more loci and one or more contacts. The user may add contactsassociated with a particular loci. The contacts may be provided by datafrom the contact list stored on the user's computing device. The contactinformation menu may display data associated with one or more contactaccounts. The contact information may include names, phone numbers, dateof birth, the like, or any combination thereof. The user may manuallyinput information regarding contacts via the contact information menu.

The computing device may include one or more global positioning system(“GPS”) modules. The GPS module may function to send and/or receivelocation information from a GPS satellite. The location information maybe defined by latitude, longitude, altitude, or any combination thereof.Relating the latitude, longitude, altitude or any combination thereof,of one locus to another locus may denote movement information (e.g.,distance, speed, or both). For example, a user processor may obtaininformation from the user GPS module and compare that information tostored mapping data relating to other loci; as a result, the processormay produce outputs such as the distance from a locus and the time itmay take for the user to travel to that locus.

The system may include one or more processors. The processor mayfunction to analyze one or more signals from one or more applications,storage media, databases, communication modules, or any combinationthereof. The processor may be located within and/or in communicationwith one or more computing devices, servers, storage media, or anycombination thereof. One or more processors may be in communication withone or more other processors. The one or more processors may function toexecute part or all of one or more applications, process data, executeone or more algorithms to analyze data, apply one or more rules (i.e.,“protocol”), evaluate data against one or more rules, or any combinationthereof. Processing data may include receiving, transforming,outputting, executing, the like, or any combination thereof. One or moreprocessors may be part of one or more hardware, software, systems, orany combination thereof. One or more hardware processors may include oneor more central processing units (“CPU”), multi-core processors,front-end processors, the like, or any combination thereof. One or moresoftware processors may include one or more word processors, one or moredocument processors, the like, or any combination thereof. One or moresystem processors may include one or more information processors, thelike, or any combination thereof. Examples of suitable processors mayinclude the Apple A13 Bionic or the ARM® Cortex®-M4 32-bit processorwith FPU, incorporated herein by reference in its entirety for allpurposes. The one or more processors may be located within a same ordifferent non-transient storage medium as one or more storage media,other processors, communication modules, communication hubs, or anycombination thereof The one or more processors may include one or morecloud-based processors. A cloud-based processor may be part of or incommunication with a dispatch interface, an interaction interface, orboth. A cloud-based processor may be located remote from a computingdevice, one or more other processors, one or more databases, or anycombination thereof. Cloud-based may mean that the one or moreprocessors may reside in a non-transient storage medium located remotefrom a computing device, other processor, one or more databases, or anycombination thereof. One or more cloud-based processors may beaccessible via one or more networks. A suitable cloud-based processormay be Amazon Elastic Compute Cloud™ (EC2™) may be provided by AmazonWeb Services®, incorporated herein by reference in its entirety for allpurposes. Another suitable platform for a cloud-based processor mayinclude Lambda™ provided by Amazon Web Services®, incorporated herein byreference in its entirety for all purposes. The one or more processorsmay convert data signals to data entries to be saved within one or morestorage media. The one or more processors may access one or morealgorithms to analyze one or more data entries and/or data signals. Theone or more processors may access one or more algorithms saved withinone or more storage media.

The system may include one or more storage media (i.e., “computerstorage media”). The one or more storage media may function to store oneor more applications, data, databases, algorithms, rules,computer-executable instructions, the like, or any combination thereofThe one or more storage media may function to cooperate with one or moreprocessors for accessing, executing, and/or storing one or moreapplications, data, databases, algorithms, rules, computer-executableinstructions, the like, or any combination thereof The one or morestorage media may be solid state disk (“SSD”) or hard drive disk(“HDD”). The one or more storage media may include one or more harddrives (e.g., hard drive memory), chips (e.g., Random Access Memory“RAM”), discs, flash drives, memory cards, the like, or any combinationthereof. One or more discs may include one or more floppy diskettes,hard disk drives, optical data storage media including CD ROMs, DVDs,and the like. One or more chips may include ROMs, flash RAM, EPROMs,hardwired or preprogrammed chips, nanotechnology memory, or the like.The one or more storage media may include one or more cloud-basedstorage media. A cloud-based storage medium may be located remote fromone or more computing devices, one or more processors, one or moredatabases, or any combination thereof. Cloud-based may mean that the oneor more storage media may reside in a non-transient storage mediumlocated remote from the one or more computing devices, processors, otherdatabases, or any combination thereof. One or more cloud-based storagemedia may be accessible via one or more networks. A suitable cloud-basedstorage medium may be Amazon S3TM provided by Amazon Web Services®,incorporated herein by reference in its entirety for all purposes. Thedata stored within one or more storage devices may be compressed,encrypted, or both. One or more storage media may store one or more dataentries in a native format, foreign format, or both. One or more storagemedia may store data entries as objects, files, blocks, or anycombination thereof. The one or more storage devices may be locatedwithin, part of, or in communication with one or more computing devices,beacons, processors, user interfaces, the like, or any combinationthereof The one or more storage media may include one or moreapplications, algorithms, rules, databases, data entries, the like, orany combination thereof stored therein. The one or more storage mediamay store data in the form of one or more databases.

The system may include one or more databases. The one or more databasesmay function to receive one or more data entries, store one or more dataentries, allow for retrieval of one or more data entries, or anycombination thereof. The one or more databases may be located within oneor more storage media. The one or more databases may include any type ofdatabase able to store digital information. The digital information maybe stored within one or more databases in any suitable form using anysuitable database management system (“DBMS”). Exemplary storage formsmay include but are not limited to relational databases, non-relationaldatabases, correlation databases, ordered/unordered flat files,structured files, the like, or any combination thereof The relationaldatabases may include SQL database, row-oriented, column-oriented, orany combination thereof The non-relational databases may include NoSQLdatabase. One or more databases may store one or more classifications ofdata models. The one or more classifications may include column (e.g.,wide column), document, key-value (e.g., key-value cache, key-valuestore), object, graph, multi-model, or any combination thereof One ormore databases may be located within or be part of hardware, software,or both. One or more databases may be stored on a same or differenthardware and/or software as one or more other databases. One or moredatabases may be located within one or more non-transient storage media.One or more databases may be located in a same or differentnon-transient storage medium. One or more databases may be accessible byone or more processors to retrieve data entries for analysis via one ormore algorithms. The one or more databases may be one or morecloud-based databases. Cloud-based may mean that the one or moredatabases may reside in a non-transient storage medium located remotefrom the one or more computing devices. One or more cloud-baseddatabases may be accessible via one or more networks. One or moredatabases may include one or more databases capable of storing contacts,GPS locations, notification data (e.g., history of sent notifications),retailer inventory, messaging data (e.g., message content), useraccounts (e.g., name, phone number, date of birth, and the like), usersettings, contact accounts (e.g., name, phone number, date of birth, andthe like), contact settings, user and/or contact shopping history,retailer accounts, retailer settings, retailer history, beacon data, thelike, or any combination thereof. The one or more databases may includeone or more locus tables, contact tables, the like, or a combinationthereof. One or more locus tables may store one or more loci identities,beacon signals corresponding to each locus, the like, or any combinationthereof. One or more contact tables may store one or more contacts,contact accounts, beacon signals associated with one or more contacts,the like, or any combination thereof. One suitable database service maybe Amazon DynamoDB® offered through Amazon Web Services®, incorporatedherein by reference in its entirety for all purposes.

The system of the present disclosure may include one or morecommunication modules. One or more communication modules may allow forthe one or more computing devices to receive and/or transmit one or moresignals from one or more computing devices, be integrated into anetwork, or both. The one or more communication modules may have anyconfiguration which may allow for one or more data signals from one ormore controllers to be relayed to and/or from one or more othercontrollers, communication modules, communication hubs, networks,computing devices, processors, the like, or any combination thereoflocated external of the computing devices. The one or more communicationmodules may include one or more wired communication modules, one or morewireless communication modules, or both. A wired communication modulemay be any module capable of transmitting and/or receiving one or moredata signals via a wired connection. One or more wired communicationmodules may communicate via one or more networks via a direct, wiredconnection. A wired connection may include a local area network (“LAN”)wired connection by an ethernet port. A wired communication module mayinclude a PC Card, PCMCIA card, PCI card, the like, or any combinationthereof. A wireless communication module may include any module capableof transmitting and/or receiving one or more data signals via a wirelessconnection. One or more wireless communication modules may communicatevia one or more networks via a wireless connection. One or more wirelesscommunication modules may include a Wi-Fi transmitter, a Bluetooth®transmitter, an infrared transmitter, a radio frequency transmitter, anIEEE 802.15.4 compliant transmitter, a GNSS module, and NFC module, thelike, or any combination thereof. A Wi-Fi transmitter may be anytransmitter complaint with IEEE 802.11. A wireless communication modulemay be single band, multi-band (e.g., dual band), or both. A wirelesscommunication module may operate at 2.4 Ghz, 5 Ghz, the like, or anycombination thereof. A communication module may communicate with one ormore other communication modules, one or more computing devices, one ormore processors, or any combination thereof directly; via one or morecommunication hubs, one or more networks, or both.

The system of the present disclosure may be integrated into one or morenetworks. The computing devices may be in selective communication withone or more networks. The one or more networks may be formed by placingtwo or more computing devices in communication with one another. One ormore networks may include one or more communication hubs, communicationmodules, computing devices, or any combination thereof. One or morenetworks may be free of one or more communication hubs. One or morecomputing devices of the system may be directly connected to one anotherwithout the use of a communication hub. One or more networks may beconnected to one or more other networks. One or more networks mayinclude one or more local area networks (“LAN”), wide area networks(“WAN”), virtual private network (“VPN”), intranet, Internet, the like,or any combination thereof The one or more networks may be a cellularnetwork, which may comprise a distributed network of cells, eachincluding a transceiver. The one or more networks may be a wirelessnetwork. The wireless network may be a WiFi network. The network may betemporarily, semi-permanently, or permanently connected to one or morecomputing devices, or any combination thereof. A network may allow forone or more computing devices to be connected to the computing device totransmit one or more data signals to the one or more computing devices,receive one or more data signals from the one or more computing devices,or both. The network may allow for one or more signals from one or morecontrollers to be relayed through the system to one or more othercontrollers, computing devices, processors, storage media, the like, orany combination thereof The network may allow for one or more computingdevices to receive one or more data entries from and/or transmit one ormore data entries to one or more storage media. The network may allowfor transmission of one or more signals, status signals, data entries,instruction signals, or any combination thereof, for processing by oneor more processors.

The system of the present disclosure may include one or morecommunication hubs. The one or more communication hubs may function toreceive one or more signals, transfer one or more signals, or both fromone or more computing devices. One or more communication hubs may be anytype of communication hub capable of sending and/or transmitting datasignals over a network to one or more computing devices. One or morecommunication hubs may include a wired router, a wireless router, anantenna, the like, or any combination thereof. One or more communicationhubs may be connected to the one or more computing devices via a wiredconnection, a wireless connection, or both. One or more communicationhubs may allow for communication of a computing device with anothercomputing device when the computing device is directly connected to thecommunication hub, indirectly connected to the communication hub, orboth. A direct connection to the communication hub may mean that thecomputing device is directly connected to the communication hub via awired and/or wireless connection and communicates with the communicationhub.

The system may include one or more beacon signal providers. The beaconsignal provider may function to transmit one or more beacon signals toone or more computing devices. The beacon signal providers may includeone or more beacons, geo-fences, the like, or any combination thereof

The beacon signal providers, the user mobile device, or both may employone or more location tracking protocols. The location tracking protocolmay include global positioning system (GPS), cellular locationpositioning, WiFi positioning, Bluetooth positioning, the like, or anycombination thereof

GPS may employ satellites broadcasting their location. Computing devicesequipped with GPS signal receivers may receive a signal from one or moresatellites and the location of the computing device can be determined.

Cellular location positioning may employ two or more, or even three ormore cellular towers. Computing devices equipped with cellular signaltransmitters and/or receivers may signally communicate with the celltowers. Based on the strength of the cellular signal of a computingdevice relative to the cellular towers, a location of a computing devicemay be determined.

WiFi positioning may employ one or more WiFi hotspots and/or WiFi accesspoints. Computing devices equipped with WiFi transmitters and/orreceivers may signally communicate with the WiFi hotspots and/or WiFiaccess points. Based on the strength of the WiFi signal of a computingdevice relative to the WiFi hotspots and/or WiFi access points, alocation of the computing device may be determined.

The beacon signal provider may be physical hardware that communicateswith a user's computing device. The physical hardware may include a GPSsatellite, a cellular tower, a WiFi access point, a Bluetooth beacon, aradio module, or the like.

The location of a computing device may be employed by one or moreapplications providing location-enabled services. The applications mayinclude location tracking applications (e.g., Find My iPhone), mapand/or directions applications (e.g., Google Maps), fitness applications(Fitness, for iPhone), the like, or any combination thereof. Anysuitable application providing location-enabled services may be employedby the method of the present teachings.

The application of the present teachings may communicate directly with asignal receiver/transmitter (e.g., GPS receiver, cellular receiver, WiFireceiver, a radio receiver, and the like) local to the computing devicethe application is being executed, or location information may beobtained via one or more applications providing location-enabledservices. The application of the present teachings may signallycommunicate with one or more other applications via an API, as describedherein.

It may be appreciated by the present teachings that a location of a userpossessing a computing device employing one or more of the locationtracking protocols identified above may be determined. To the extentthat location-enabled services are not restricted by the user, theirlocation may be tracked continuously. Upon the user entering thepremises of a retailer, it may be determined that the location of theuser coincides with that of the retailer.

The one or more beacon signal providers may transmit one or more beaconsignals. The one or more beacon signals may function to convey alocation of a locus, the location of a computing device, additionalinformation about the locus, additional information about the computingdevice, or any combination thereof The beacon signal may include abeacon signature, a mailing address, a latitude and longitude, or anycombination thereof.

The beacon signal may be characterized by a strength. The strength maybe measured as between a computing device and a beacon signal provider.The signal strength may characterize the distance of a computing devicefrom a beacon signal provider.

The system may include one or more beacons. One or more beacons mayfunction to transmit signals that may be received by one or morecomputing devices, sense the presence of one or more computing deviceswithin a range, communicate with one or more computing devices, or anycombination thereof

One or more beacons may transmit a signal. The signal may be a radiosignal, Bluetooth® signal, cellular signal, internet signal, the like,or a combination thereof The signal may have a range that may be limitedby the identity of the signal. The signal may be selectively turned onor off. For example, a signal may be turned on during business hours andturned off during non-business hours.

The beacon range may be set to avoid overlap with other retailers, otherbeacon ranges, or both in the immediate area. The beacon may have arange of about 10 meters or greater, about 15 meters or greater, about25 meters or greater, about 50 meters or greater, about 100 meters orgreater, or even about 200 meters or greater. The beacon may have arange of about 10,000 meters or less, about 5,000 meters or less orless, or even about 2,500 meters or less. For example, Bluetooth®signals may have a maximum range of about 100 meters or even about 200meters. As another example, radio signals may have a maximum range ofabout 6 miles (about 9,656 meters, such as for ultra-high frequencyradio signals).

The beacon may have an adjustable range. The range may be adjustablesuch that the beacon and range can be customized based on a beacon'slocation. A beacon in a more remote loci may have a larger range. Forexample, a beacon in a grocery store with a large adjacent parking lotin a rural setting may have a range which extends out to a nearby roadentering the parking lot. A beacon for a locus in a more populated,dense area may have a smaller range. For example, a beacon at a retailstore within an urban center may only extend out to a pedestrian pathnear an entrance of the retail store.

The present teachings contemplate that location tracking protocols areassociated with an inherent error. By way of example, a locationprovided by GPS may have an error of about 10 meters from the actuallocation of the GPS receiver. The method of the present teachings mayaccount for the error. In this regard, a boundary may be applied to thelocation of a retailer and/or a user. The boundary may be about 5 metersor more, 10 meters or more, 20 meters or more, 30 meters or more, 40meters or more, or even 50 meters or more. The boundary may be about 800meters or less, 600 meters or less, 400 meters or less, 200 meters orless, or even 100 meters or less. As expressed on a map defined in 2Dspace, the boundary may be circular, with the position detected by oneor more location tracking protocols described herein in the center ofthe boundary. Any overlap in the boundary of the user with the boundaryof the retailer, in the boundary of the user with the location of theretailer, in the boundary of the retailer with the location of the user,or any combination thereof may result in a determination that the useris located at the retailer.

It is understood that in some respects the error associated with, to arelatively lesser extent GPS and to a relatively greater extent cellularlocation positioning, may not disadvantage employment of the presentmethod. That is, contacts may be notified when users are in the generalvicinity of one or more retailers. Thus, in some aspects, a user neednot be only in the parking lot or in the doorway of a retailer forcontacts to be notified.

In regard to WiFi positioning and Bluetooth positioning, the computingdevice may signally communicate with hardware transmitting and/orreceiving WiFi and Bluetooth signals, respectively. Typically, the rangeof WiFi signals and Bluetooth signals are about 100 meters or less. AWiFi or Bluetooth signal connection established between a computingdevice of a user and the signal source may result in a determinationthat the user is located at the retailer.

A threshold may be applied to the strength of the signal for determiningthe user is located at the retailer. This is understanding that signalstrength may be generally proportional to distance between a signaltransmitter and a signal receiver. The threshold may be applied suchthat a user must be closer to the retailer to trigger the determinationthat the user is located at the retailer. The threshold may be a signalstrength of about 5% or more, 10% or more, 20% or more, 30% or more, 40%or more, 50% or more, 60% or more, 70% or more, 80% or more, or even 90%or more of the maximum signal strength.

The beacon may be capable of micro-location. Micro-location may meandetermining a distance between the beacon and a computing device with aresolution as low as an inch or more.

The beacon may operate under the Bluetooth® 4.2 LE standard orBluetooth® 5 LE standard. The beacon may include one or more processors,storage media, antennae, or any combination thereof. One or moreantennae may include one or more PCB inverted-F antennas, monopole PCBantennas, meander PCB antennas, the like, or any combination thereof

One or more beacons may be powered by a power source. The power sourcemay be a continuous power source, a charged power source, the like or acombination thereof. A continuous power source may be an external powersupply. An external power supply may be alternating or direct current. Acharged power source may be a battery. A battery may be a replaceablebattery, a rechargeable battery, or both. The beacon may be selectivelyturned on or off. For example, to conserve battery power, the beacon maybe turned off outside of business hours.

Some suitable beacons may include the Proximity Beacon and LocationBeacon, commercially available from Estimote, Inc., incorporated byreference herein.

The network signal may transmit a GPS location of the beacon via anetwork to one or more computing devices. The signal may be one or moreof the aforementioned signals. For example, a beacon may be located in agrocery store and the GPS location of the beacon may be transmitted to auser mobile device, via a network, when the user is several miles awayfrom the locus and the Bluetooth® signal may be transmitted to a usermobile device when the user is approaching the front entrance of agrocery store.

One or more beacons may be located on the premises of a business. One ormore beacons may be located in two or more locations on the premises ofa retailer. For example, beacons may be located in two or moredepartments of a department store.

The beacons may be controllable manually or through an application(i.e., administrator rights).

The one or more beacons may be associated with and/or transmit a beaconsignature. A beacon signature may function to identify one or more loci,users, contacts, or any combination thereof. A beacon signature may bein the form of numbers, letters, symbols, or any combination thereof. Abeacon signature may be associated with identifying information.Identifying information may include a name of a locus, a category ofgoods and/or services provided by the locus, a location of the locus(e.g., mailing address; latitude and longitude), a status of a locus(e.g., open or closed), or any combination thereof. Loci that have anopen status (i.e., open for business) may be published, searchable, orboth (i.e., recognized) on the application of the present disclosure.Loci that have a closed status (i.e., closed for business) may not bepublished, searchable, or both by the application of the presentdisclosure. For example, an individual may host a garage sale andcontrol the time during which the beacon may be recognized (e.g.,between 12 PM and 4 PM on a Saturday). As another example, a food truckmay run out of food and instantly set the beacon signature to convey aclosed status. As another example, a brick-and-mortar retailer maycontrol business hours on a daily basis (e.g., abnormal break hours), ona long-term basis (e.g., regular business hours during a given year), oron a basis of special events (e.g., holiday business hours). Thelocation of the locus may be controllable. For example, a food truckthat frequently travels to different locations may set and subsequentlyre-set a location of a beacon located on the food truck. A beaconsignature may be transmitted by one or more beacons. A beacon signaturemay be received by one or more computing devices. The beacon signaturemay be unique to the particular locus of a retailer, a business entity,a parent company, or any combination thereof. For example, the beaconsignature may denote that the locus is a grocery establishment operatedby a particular business entity and may also denote the address orperhaps store ID of that particular location. The beacon signature maybe unique to one or more particular loci within a retailer. For example,each of several beacons may be located in different aisles of a grocerystore and the respective beacon signature may identify each aisle.

A beacon may be temporarily used on an ad hoc basis. Ad hoc beacons maybe temporarily registered to (i.e., a beacon signature personalized to)an individual or business and then re-registered for differentindividuals or businesses. An individual or business may control thesignal, the range, the beacon signature, or any combination thereof. Forexample, an individual may host a garage sale, obtain an ad hoc beacon,and personalize a beacon signature (e.g., indicating that the loci is agarage sale).

The system of the present disclosure may utilize a geo-fence. Thegeo-fence may function as a range around a geographic area. Thegeographic area may be defined by a mailing address, a latitude andlongitude, or both. The range may be about 10 meters or greater, about15 meters or greater, about 25 meters or greater, about 50 meters orgreater, about 100 meters or greater, or even about 200 meters orgreater. The beacon may have a range of about 10,000 meters or less,about 5,000 meters or less or less, or even about 2,500 meters or less.The range may be adjustable. The geo-fence may be used in lieu of or incombination with a beacon. The geo-fence may be suitable for loci whichare sufficiently large and/or remote in territorial scope to obviateoverlap with other geo-fences or beacons. For example, a geo-fence maybe appropriate for loci having a large property line such as thewarehouse retailer Costco Wholesale Corporation. As another example, ageo-fence may be appropriate for loci in a remote location such as arural area.

The system may include one or more applications. The application (i.e.,“computer program”) may function to execute the method of the presentdisclosure. The application may be stored on one or more computerstorage media. The application may comprise one or morecomputer-executable instructions, algorithms, rules, or any combinationthereof. The computer-executable instructions, when executed by acomputing device may cause the computing device to perform the methoddescribed herein. The application may be downloadable onto the computingdevice. The application may be downloadable from an application store(i.e., “app store”). An application store may include, but is notlimited to, Apple App Store, Google Play, Amazon Appstore, or anycombination thereof The application may be utilized by one or morecomputing devices. The application may be utilized on one or morecomputing devices, beacons, or any combination thereof The applicationmay also be referred to as a dedicated application. The dedicatedapplication may work in conjunction with other applications. Forexample, the dedicated application may obtain contacts from a contactlist (i.e., phonebook) application. As another example, the dedicatedapplication may obtain photographs from a photograph application. Asanother example, the dedicated application may obtain locationinformation from a map application.

The application may include one or more settings. The one or moresettings may function to direct how the application interacts with oneor more users and/or contacts. The one or more settings may include oneor more user settings, contact settings, or both. One or more usersettings may mean settings set by the user on the user's computingdevice. One or more contact settings may mean settings set by thecontact on the contact's computing device. The one or more settings mayinclude one or more contact designation settings, retailer preferencesettings, time settings, contact settings, the like, or a combinationthereof. The one or more contact designation settings, retailerpreference settings, time settings, and contact settings may be usersettings and/or contact settings.

The settings may include contact designation settings. The contactdesignation settings may function to direct which of the one or morecontacts may be notified when a user is in proximity to a loci (e.g.,retailer). The contact designation settings may allow for a user toassociate one or more contacts with one or more loci. Each locus mayhave the same, different, or overlapping contacts associated therewith.For example, a first loci may be associated with a first contact, asecond loci may be associated with a second contact, and a third locimay be associated with both the first and second contact. The contactdesignation settings may allow for only the associated (e.g.,designated) contacts to be notified upon the user (e.g., user mobiledevice) being in proximity to the loci, beacon, or both.

The settings may include retailer preference settings. The retailerpreference settings may function to direct which one or more loci (e.g.,retailers) trigger a notification. A user may be able to modify theretailer preference settings so that only an identified and selectedlocus triggers a notification.

The settings may include time settings. Time settings may function todirect the time period during which the application is active. A usermay modify the time settings such that the application is always active,sometimes active, never active, or a combination thereof. A user maymodify the time settings such that the application is active for aportion of a day, week, month, or the like. For example, a user maydirect the application to active only during the lunch hour. As anotherexample, a user may direct the application to be only active after theworkday (e.g., between 5 pm and 10 pm). As another example, the user maydirect the application to be inactive when the user is traveling awayfrom home, such as during a business trip.

The settings may include contact settings. Contact settings may functionto direct the circumstances under which a contact is notified by theapplication. For example, a contact may direct the application togenerate notifications for when a shopper is in a proximity toparticular retailers (e.g., men's clothing stores) but not otherretailers (e.g., women's clothing stores). The settings may beattributed to specific persons or groups of people. For example, a firsttime setting may be applied to a group consisting of family members anda second time setting may be applied to a group consisting ofco-workers. The settings may be attributed to particular retailers. Forexample, a first time setting may be applied to restaurants, directingthe application to generate notifications during the lunch hour, and asecond time setting may be applied to grocery stores, directing theapplication to generate notifications after working hours.

The system may include shopping history stored therein. The shoppinghistory may be useful for personalizing the application to the shoppinghabits of the user and/or one or more contacts. The shopping history mayinclude user shopping history, contact shopping history, or both. Theshopping history may include data obtained through use of theapplication by one or more contacts, users, or both. The shoppinghistory may be stored (e.g., compiled) in a database, storage medium,and/or a computing device. User shopping history may be the shoppinghistory related to one or more users. Contact shopping history be thehistory associated with one or more contacts. The shopping history mayinclude products requested by contacts, products purchased by shoppers,retailers visited, timing of visits to retailers, contacts associatedwith particular retailers, the like, or any combination thereof. Theshopping history may be used to provide predictive recommendations.Predictive recommendations may be derived from shopping historyassociated with individual contacts, persons within particular groups(e.g., members of the same household), persons outside groups (e.g.,entire user-base of the application), or any combination thereof. Forexample, a predictive recommendation to purchase product may be providedto a shopper if the product was historically, frequently purchased witha product currently on the shopping list of the user. As anotherexample, a predictive recommendation comprising a shopping list,associated with a particular retailer, may be provided to the user whenthe user is in proximity to the particular retailer.

The processor may implement one or more rules. The rules may be appliedto an input in order to produce an output. As a non-limiting example,the rules may be generally related to sorting data, storing data,deleting data, applying an algorithm to data, showing data, sendingdata, the like, or any combination thereof. The rules of the presentdisclosure may be related to but not limited to the notificationfunctions of the application, the shopping list function of theapplication, or both. The one or more rules may include one or morenotification rules, shopping list rules, the like, or a combinationthereof

The one or more rules may include one or more notification rules. Theone or more notification rules may function to determine which of theone or more contacts is notified when the user is at a particular locus.The one or more notification rules may comprise (a) comparing a beaconsignature, assigned to a retailer, to a beacon signal, assigned to acontact, (b) if a beacon signal of the retailer matches a beacon signalof a contact, then generate a signal to send a notification to thatcontact. The one or more notification rules may comprise (a) comparing abeacon signal, assigned to a retailer, to a beacon signal, assigned to acontact, at a first time (b) comparing a beacon signal, assigned to aretailer, to a beacon signal, assigned to a contact, at a second time,(c) if the difference between the second time and the first time is lessthan a pre-determined value, then do not generate a signal to send anotification to that contact, (d) if the difference between the secondtime and the first time is less than a pre-determined value, thengenerate a signal to send a notification to that contact. The one ormore notification rules may be useful to reduce or obviate redundantnotifications to a contact in a situation where a user may repeatedlypass by a retailer (e.g., walking through a mall or a downtown shoppingdistrict). The one or more notification rules may comprise (a) comparinga beacon signal, assigned to a retailer, to a beacon signal, assigned toa contact, (b) retrieving a contact setting, (c) if the contact settingspecifies do-not-disturb, then do not generate a signal to send anotification to that contact.

The one or more rules may include one or more shopping list rules. Theone or more shopping list rules may function to compile a shopping listfor a user. The one or more shopping list rules may comprise (a)comparing an inventory selection from a first contact and a secondcontact, (b) if an inventory selection from the first contact and thesecond contact match, then remove one inventory selection from theshopping list of the user. The rules of the shopping list function maycomprise (a) comparing a product in a shopping list to a user historyand/or a contact history, (b) if the product is repeated two or moretimes in the user history and/or the contact history, then generate asignal to store the product as a frequently purchased product. The rulesof the shopping list may comprise (a) comparing a product in a shoppinglist to a retailer history, (b) if the retailer history indicates thatthe product is frequently purchased with one or more other products,then generate a signal to send a notification to recommend to a user, acontact, or both one or more of the other products.

One or more computing devices may include one or more algorithms storedtherein. For example, one or more algorithms may be stored within one ormore storage media. The one or more algorithms may be part of or may bethe one or more applications. The one or more algorithms may analyzedata, relay data, receive data, initiate an operation, identify data,the like, or any combination thereof.

The one or more algorithms may include a sorting algorithm. The sortingalgorithm may function to sort data according to one or more differentprotocols. The protocols may include arranging data alphabetically,numerically, chronologically, categorically, the like or any combinationthereof. The sorting algorithm may be useful to arrange shopping lists.For example, a sorting algorithm may organize a shopping listcategorially by type of product such as groceries or cleaning supplies.

The one or more algorithms may include a search algorithm. The searchalgorithm may function to search one or more databases based upon searchcriteria. The search algorithm may be useful in searching for individualproducts offered by retailers. For example, a contact may want to notifya user to purchase a baseball glove and before adding the baseball gloveto the shopping list, the contact may search the retailer's database todetermine which brands of baseball gloves are offered by the retailer.

The one or more algorithms may include a hashing algorithm. The hashingalgorithm may function to map data of arbitrary size to fixed-sizevalues. The hashing algorithm may receive data as an input and output ahash code that may be used to locate data. The hashing algorithm may beuseful in storing data and data retrieval. Particularly, the hashingalgorithm may be useful in the storage and/or retrieval of contacts, GPSlocations, notification data (e.g., history of sent notifications),retailer inventory, messaging data (e.g., message content), useraccounts (e.g., name, phone number, date of birth, and the like), usersettings, contact accounts (e.g., name, phone number, date of birth, andthe like), contact settings, user and/or contact shopping history,retailer accounts, retailer settings, retailer history, beacon data, thelike, or any combination thereof.

The system may include or be located within one or more loci. A locusmay be a point of interest. The locus may also be referred to as aretailer. The retailer may be any provider of goods and/or services. Theretailer may be a business entity, individual persons (e.g., someoneconducting a garage sale or selling homemade crafts), or both. Theretailer may sell prepared food, food products (e.g., groceries),hardware, electronics, automotive products, household products, petsupplies, books, sports equipment, toys, clothing, wearable accessories,health and beauty products, pharmaceuticals, the like, or anycombination thereof The retailer may include grocery stores, conveniencestores, department stores, specialty stores, off-price retailers,warehouse clubs, sit-down restaurants, fast-food restaurants, the like,or any combination thereof. The retailer may maintain a retailerinventory, one or more retailer computing devices, one or more retailerdatabases, or any combination thereof. The loci may be stationary (e.g.,a brick-and-mortar store), transitory (e.g., a food truck), or both.

One or more loci may include one or more retailer computing devices. Oneor more retailer computing devices may function to receive and/ortransmit one or more signals, communicate with one or more beacons,convert one or more signals to data entries, to send one or more dataentries to a storage medium, to store one or more data entries, toretrieve one or more data entries from a storage medium, to execute oneor more computer-executable instructions, to compute one or morealgorithms, apply one or more rules (i.e., “protocol”), or anycombination thereof. One or more retailer computing devices may belocated on-site at the retailer, off-site, or a combination of both. Forexample, a corporate retailer may maintain a headquarters to which allof the retailers which it controls have on-site computing devices forsending data to the computing devices located off-site at theheadquarters. A retailer inventory may be maintained via one or moreindividual retailers sending inventory data to one or more retailerdatabases.

The one or more retailer databases may function to receive, store,organize, transmit, or any combination thereof, data (i.e., inventorydata). The one or more retailer databases may store information for thecompany to have an updated, real-time picture of the status of thestore. The one or more retailer databases may be on-site (i.e., at thelocus or headquarters) or off-site (i.e., cloud-based). The one or moreretailer databases may communicate with one or more retailer computingdevices via a network. The retailer database may also be accessed bythird parties such as online retailers or inventory managementcompanies.

The retailer inventory may mean the products that are currentlyin-store. The retailer inventory may change rapidly, especially athigh-volume retailers. The retailer inventory may be updated via devicesand/or applications particularly designed to keep track of inventory.For example, when shipments are received the merchandise may be scannedin and when products leave the store they may be scanned out. Scanningout of products may be done by cashiers employed by the retailer,electronic checkout device (e.g., self-checkout device, a credit cardterminal, or POS device), checkout-free shopping systems (e.g., AmazonGo and Amazon Go Grocery), or any combination thereof. Use of thesedevices and applications for keeping track of inventory may enable thestorage of real-time inventory data on a retailer database that may beaccessed by the retailer, a corporate entity owning the retailer, sistercompanies, subsidiary companies, third-parties, or any combinationthereof. Individual items of retailer inventory may include sub-beaconsignal providers. Sub-beacon signal providers may function similarly tobeacon providers. Sub-beacon signal providers may function to identifyitems within a loci rather than the loci itself. Sub-beacon signalproviders may include Bluetooth®, near field communication, radiofrequency identification modules, quick response (QR) codes, the like,or any combination thereof. Individual items of retailer inventory mayinclude one or more sub-beacon signal providers. The one or moresub-beacon signal providers may communicate with a user computing devicewhen the user computing device is within range of an item. The range maybe about 30 cm or more, about 1 m or more, or even about 3 m or more.The range may be about 100 m or less, about 50 m or less, or even about10 m or less. The range of a sub-beacon signal provider may be lessthan, about equal to, or greater than a range of a beacon signalprovider. The individual items may be cross referenced with a shoppinglist, a user shopping history, user preferences, the like, or anycombination thereof. After receiving a beacon signal from a sub-beaconsignal provider, a recommendation and/or reminder may be sent to theuser to collect the item.

Inventory data may refer to any data regarding the productsidentification, manufacture, location, or any combination thereof.Inventory data may include but is not limited to product name, brand,price, stock keeping unit (“SKU”), universal product code (“UPC”),manufacturing information (e.g., date manufactured and lot number),quantity, delivery schedules, time received by retailer, time purchased,product description, technical specifications, ingredients, nutritionfacts, the like, or any combination thereof. Inventory data may be usedfor predictive recommendations. For example, technical specificationsmay indicate a product on a user's shopping list needs batteries tooperate and so the application may generate a recommendation thatbatteries be added to the shopping list if batteries are not already onthe shopping list. Inventory data may be used to provide real-timeindications of product availability. For example, contacts may selectproducts from a digital catalogue, which indicates to the contacts thatproducts are or are not available in-store.

The system may include one or more application programming interfaces(“API”) stored therein. One or more application programming interfacesmay function to direct how one or more other computing devices,processors, storage media, databases, or a combination thereof mayinteract with one or more other computing devices, processors, storagemedia, databases, or a combination thereof. One or more other computingdevices may use the API to store data, retrieve stored data, performother operations in connection with the data, or any combinationthereof. For example, an API associated with a retailer computing devicemay allow the application of the present disclosure to access particulardata regarding the inventory of a particular retailer location, whichmay allow the users and/or contacts to use application of the presentdisclosure to compile a shopping list from a real-time listing ofproducts located at the retailer. The API may be utilized by developersto program the application to interact with one or more retailercomputing devices. The API may simplify programming by abstraction andonly exposing a developer to data, programming objects, or actions thedeveloper needs. The one or more APIs may utilize one or morearchitectures. The one or more architectures may be one or more webservice architectures useful for requesting, receiving and/ortransmitting one or more data signals, data entries, or both from one ormore other remotely located computing devices, processors, storagemedia, databases, or a combination thereof connected via one or morenetworks (e.g., web-based resources). One or more web servicearchitectures may include Representation State Transfer (REST), gRPC,the like, or any combination thereof. One exemplary API may be AmazonAPI Gateway™ provided by Amazon Web Services®, incorporated herein byreference in its entirety for all purposes. The one or more APIs mayutilize one or more protocols for transmitting and/or receiving one ormore data signals, data entries, or both. One or more protocols mayinclude simple object access protocol (SOAP), hypertext transferprotocol (HTTP), user datagram protocol (UDP), message queuing telemetrytransport (MQTT), the like, or any combination thereof.

One or more buy online, pick-up in store (“BOPIS”) systems may beintegrated into the application. BOPIS systems may refer to e-commercesystems in which individuals may shop online and pick up a preparedorder of products at a retail location or other location. Examples ofBOPIS systems include but are not limited to Meijer Pickup and AmazonHub Locker. Shoppers may be notified by the application when the shopperis in the proximity to a retail location or other location where aprepared order is located and ready for pick-up.

The inventory data, the user history, the contact history, or anycombination thereof may be utilized by the application to provide anindication of attribution (i.e., a purchase by a user of the applicationattributed to use of the application). One or more products may beattributed to use of the application by protocols including but notlimited to: if the shopper purchases at least one product with theapplication then all products purchased by a user may be attributed touse of the application; if a cashier employed by the retailer and/or anelectronic checkout device (e.g., self-checkout device, a credit cardterminal, or POS device) indicates that the shopper used the applicationto purchase at least one product with the application then all productspurchased by a user may be attributed to use of the application;products in a shopping list generated by the application may becross-referenced against products that are checked out of inventory andonly the matching products may be attributed to use of the application;the users and or contacts may use the application to designate whichproducts in a shopping list generated by the application were purchasedand attributed to the application; all items in a shopping list may beassumed as being purchased and attributed to the use of the application;or any combination thereof.

The application may generate a shopping list. The shopping list mayrefer to messages (textual or audio), sent by contacts, displayed in theapplication or a visually simplified listing of products derived fromdata sent by one or more contacts. For example, the application maysequentially display all messages from the contacts on a single,scrollable page. As another example, the application may utilize textand/or audio recognition technology to extract product requests frommessages and display only the pertinent product information (e.g.,product name and quantity) on a page. The application may utilizeinventory data to display, for users and contacts, a product cataloguefrom which users and contacts can select products to add to a shoppinglist. The application may link to a retailer's e-commerce and/orcatalogue website and generate a shopping list from selections made onthe website. The application may link to third-party recipe publishingwebsites and selection of a recipe may generate a shopping list of theingredients listed.

The system of the present disclosure may include one or more third-partycomputing devices. The system of the present disclosure may use the APIof the third parties to communicate with the third-party computingdevices. The third-parties may include those providing messengerservices (e.g., QuickBlox provided by QuickBlox), payment services(e.g., Stripe, provided by Stripe Inc., or Splitwise, provided bySplitwise Inc.), advertising services, coupon services (e.g., Honey,provided by Honey Science LLC), recipe publishers (e.g.,FoodNetwork.com, provided by Food Network Ltd.), the like, or anycombination thereof. The third-party computing devices may be integratedinto the system in order to simplify and/or enhance use of theapplication. For example, a payment service may be integrated into theapplication so that shopping costs are communicated to contacts in theapplication and the contacts can direct payment of the shopper throughthe application (e.g., contacts reimbursing a co-worker who picked uplunch). As another example, an advertising service may be integratedinto the system in order to inform the users and/or contacts as tosimilar products that they may want to consider purchasing based uponthe user history and/or contact history. As another example, a couponservice may be integrated into the system that automatically searchesfor coupons for a product when the product is added to a shopping list.As another example, a recipe publisher may be integrated into the systemso that shopping lists comprising ingredients may be generated byselecting a recipe.

The system of the present disclosure may include an API that may be usedby one or more third parties so the application of the presentdisclosure may be utilized within the one or more third-parties'applications. The system of the present disclosure may be integratedinto retailer applications, navigation applications, social mediaapplications, the like, or any combination thereof. For example, agrocery store, which maintains a shopping application for mobile phonesmay use the system of the present disclosure to send notifications tocontacts when users are in a proximity to that particular grocery store.As another example, a navigation application (e.g., Google Maps, Waze,and the like) may use the system of the present disclosure tographically display retailers that users and/or contacts havedesignated. As another example, a social media application (e.g.,Facebook) may use the system of the present disclosure to sendnotifications to contacts who are in the user's online social network.

Method

The present disclosure relates to a method using one or more componentsof the system. The method may be part of an application. The method maybe stored as instructions. The instructions may be computer executableinstructions. The method may be stored on one or more computer storagemedia. The method may be executed by one or more processors.

The method may include a computing device receiving a beacon signal. Thecomputing device may include one or more mobile devices. A user mobiledevice may receive a beacon signal. The beacon signal may be receivedfrom a beacon. The user mobile device may be within the range of thebeacon to receive the beacon signal. For example, the user mobile devicemay receive a beacon signal when the user mobile device is within directproximity to the entrance of the retailer.

The method may include assigning one or more contacts to a retailer, theretailer being defined by a location, in a database table. The methodmay include tracking a location of a user mobile device. The method maycomprise comparing the location of the user mobile device to thelocation of the retailer assigned to the one or more contacts.

The application may inquire the user for a mode of contact. Theapplication may receive a first input from the user comprising the modeof contact. The application may generate a first notification, based onthe mode of contact, to transmit from the user mobile device to one ormore contact mobile devices based on the mode of contact and anassociated protocol. The application may transmit the first notificationto the one or more contact mobile devices.

The first notification may be transmitted as a text message; the textfeature may be a module of the dedicated application or the text featuremay utilize a separate messaging application (e.g., the dedicatedapplication may send a request to a separate messaging application tosend a text whereby the request is a data packet containing text and thedesired recipient). The one or more contact mobile devices may generatea push notification upon receiving the first notification from the usermobile device.

A user mobile device may receive a beacon signal, from a beacon, whenthe user mobile device is within the range of the beacon. The beacon maycontinuously transmit a beacon signal and may communicate with the usermobile device when the user mobile device is located within therequisite range of the beacon. The application may automaticallygenerate and transmit a first notification from the user mobile deviceto one or more contact mobile devices. The one or more contact mobiledevices may generate a push notification upon receiving the firstnotification from the user mobile device. A protocol may determine whichcontacts are automatically notified and under which circumstances.

The associated protocol may comprise comparing the beacon signal to acontact list to identify the one or more contacts associated with alocus of the beacon; directing the user to a selectable contact list; orboth. Where the associated protocol compares the beacon signal to acontact list, the user may pre-designate, in their contact list, whichof the one or more contacts should be notified when the user enters therange of a particular locus (i.e., retailer). For example, the user maypre-designate a pharmacy in association with a contact who regularlyrequires prescription refills. As another example, the user maypre-designate a grocery store in association with a contact who is incharge of the food preparation of the household. One or more contactsmay pre-designate which loci they would like to trigger a notificationwhen the user is in the proximity of the loci. For example, a contactmay pre-designate a retailer through the application and thepre-designation may be transmitted to the user's mobile device.Comparison of a beacon signal to a contact list may be performedautomatically or by request of the user. For example, a user may selectto automatically compare the beacon signal to a contact list forretailers who deal in goods or services that are in high and/orfluctuating demand by their contacts, such as grocery stores. Where theassociated protocol involves directing the user to a selectable contactlist, the user may manually select users to be notified that the user isin range of a retailer. For example, when the user is in a mall, theuser may manually select their child that they are in proximity to aclothing retailer, thus indicating that the user is contemplating buyingclothes for said children.

The user may be prompted to either send the first notification or notsend the first notification to the one or more contact mobile devices.For example, the associated protocol may automatically compare a beaconsignal to a contact list and instead of automatically sending a firstnotification to the one or more contacts, the application may ask theuser whether or not to send a first notification to the one or morecontacts. For example, the user may be birthday shopping for a child andthe user may not want the application to automatically send a firstnotification to that child signaling that the user is birthday shopping.The first notification may be sent substantially instantaneously. Thisfeature may be selectively turned on or off per contact or theapplication may automatically decline to send a notification to acontact based on the birthday data of that contact (e.g., declining tosend a notification during the month before the birthday of thecontact). Sending an automatic notification may relieve the user fromextra interaction with their mobile device. For example, the user may bein a hurry to shop and the extra interaction of pulling out their phone,accessing their text messaging application, texting one or more people,and waiting for a reply may be burdensome. The communication between theuser and the one or more contacts may be automatically facilitated sothat the user is relieved of establishing and maintaining communicationwith one or more contacts while engaged with sensory inputs and motorfunctions associated with driving, shopping, note taking, or anycombination thereof

The application may prompt the one or more contacts for a second input.The second input may be an acceptance, a rejection, a text message, oneor more inventory selections, or any combination thereof. For example,the application may ask the one or more contacts whether they needanything and the one or more contacts may accept (e.g., press a “yes”button) or reject (e.g., push a “no” button) the offer. As anotherexample, the one or more contacts may input a text message requestingspecific instructions of the user. As another example, the one or morecontacts may access a retailer inventory and select one or moreinventory selections. As another example, the one or more contacts mayselect one or more inventory selections from a retailer inventory andalso send a text message appended to the one or more inventoryselections inserting more detail into the request (e.g., explaining whythe contact needs a specific inventory selection). The second input maygenerate a second notification, comprising text, one or more inventoryselections, or both, that may be sent to the user. The secondnotification may be exchanged substantially instantaneously. Where thesecond notification is one or more inventory selections, the applicationmay consolidate the one or more inventory selections on a shopping listviewable by the user. The application may eliminate redundant inventoryselections when generating the shopping list. The first notification maybe exchanged in 5 seconds or less, in 1 minute or less, in 5 minutes orless, or even in 10 minutes or less.

The application may access a retailer inventory. The retailer inventorymay correspond to a retail store associated with the beacon. Theretailer inventory may be updated in real-time via a retailer database.The retailer inventory may be accessed in real-time by the applicationvia the internet.

The application may store and/or access one or more contacts via manualinputs, a database, or both. The one or more contacts may be manuallyinputted by the user. The user may manually input names, phone numbers,emails, addresses, pictures, ages, birthdays, or any combinationthereof. The one or more contacts that are manually inputted into theapplication may be synced and/or shared to a contacts application. Theone or more contacts may be obtained via a database stored on thestorage medium of the user mobile device, which is maintained by acontacts application. For example, the application may sync and/or shareinformation databased by the Contacts application on an iPhone.

The user may assign one or more retailers to a contact. For example, theperson in charge of food preparation of a household may be assigned toone or more grocery stores. As another example, children may be assignedto an office supply store (e.g., for school supplies), a toy store,clothing stores, the like, or any combination thereof. As a result,notifications are not unnecessarily generated for contacts that may beuninterested in the particular retailer where the user is present.

The transmission of notifications between a user and contacts may beperformed via a cellular network, internet, or both.

The notifications may be generated by messaging applications, thededicated application of the present disclosure, or both. The messagingapplication may be a short messaging service (SMS) (i.e., informationsent over a cellular network; finite size; preferably mere text), amultimedia messaging service (MMS) (i.e., information sent over acellular network; no finite size; preferably multimedia files), over thetop (OTT) (i.e., information sent via internet protocols (“IP”), or anycombination thereof The SMS, MMS, or both may include iMessage, AndroidMessages, the like, or any combination thereof. The OTT may includeWhatsApp, WeChat, Facebook Messenger, Skype, Google Talk, the like, orany combination thereof

ILLUSTRATIVE EXAMPLES

FIG. 1 illustrates an overhead view of user mobile devices 200, 200′.The user mobile devices 200, 200′ are distanced from a locus 304. Thelocus 304 includes a beacon 300. The beacon 300 has a range 302. Therange 302 may include a first range 302 a and/or a second range 302 b.The range 302 of the beacon 300 may be adjustable between the firstrange 302 a and the second range 302 b. The user mobile device 200 islocated on a road 60. The user mobile device 200 is entering into arange 302 of the beacon 300. The user mobile device 200 is entering intothe first range 302 a. The user mobile device 200′ is located in aparking lot 62 of the locus 304. The user mobile device 200′ is locatedwithin the range 302 of the beacon 300. The user mobile device 200′ islocated within the second range 302 b.

FIG. 2 illustrates a schematic view of cellular network 80. The cellularnetwork 80 includes a cell tower 82. The cell tower 82 is incommunication with a user mobile device 200. The cell tower 82 is incommunication with a plurality of contact mobile devices 220, 220′,220″, 220′″.

FIG. 3 illustrates a schematic view of an internet network 90. Theinternet network 90 includes a contact mobile device 220, a retailerdatabase 55, and a retailer computing device 60, which areinterconnected via an internet 92 connection.

FIG. 4 illustrates a schematic view of a system 10. The system 10includes a user mobile device 200 and contact mobile devices 220, 220′linked together via a network 90. The user mobile device 200 and thecontact mobile devices 220, 220′ each include processors 20, 20′, 20″and storage media 30, 30′, 30″. An application 32, 32′, 32″ is storedwithin each of the storage media 30, 30′, 30″ of the respective usermobile device 200 and contact mobile devices 220, 220′. The system 10further includes a beacon 300, which transmits a beacon signal 258. Whena user mobile device 200 enters a range 302 (not shown), such as shownin FIG. 1 , the user mobile device 200 receives the beacon signal 258.The user mobile device 200 can transmit a text message 462 (not shown),such as shown in FIG. 6E, via the network 90. The user mobile device 200and the contact mobile devices 220, 220′ can communicate, via thenetwork 90, with a database 50, such as a retailer database 55.

FIG. 5 illustrates a flowchart of a method of the present disclosure.The flowchart illustrates the method starting from the instant themobile device receives a signal from a beacon and ends where anotification is sent back to the user from the contact. The methodbegins with a user mobile device 200 (not shown) receiving a signal froma beacon 300 (not shown). The method may provide an active method(Option 2) or passive method (Option 1). The passive method commencescomparing the beacon signal to a contact list. If no contacts areassociated with the beacon, then the application cancels firstnotifications to all of the one or more contacts. Optionally, the usermay select one or more contacts to send a notification to.Alternatively, the application may be set to send a notification to oneor more contacts upon the user confirming that the notification be sent.The application may generate and send a first notification for one ormore contacts. Upon receiving the first notification, the one or morecontacts access a retailer inventory in order to choose one or moreinventory selections to the user. The inventory selections are sent as asecond notification to the user.

FIG. 6A illustrates a view of a user GUI 202. The GUI 202 is theinterface of a user mobile device 200 (not shown). The GUI 202 includesan alert screen 223. The GUI 202 displays information and options shownand available to a user when the user mobile device 200 (not shown)receives a signal from a beacon 300 (not shown).

FIG. 6B illustrates a view of a user GUI 202. The GUI 202 displays amain menu 222 when a user, contact, or both first open the application.

FIG. 6C illustrates a view of a user GUI 202. The GUI 202 displays apush notification 460 to notify the user that a locus 300 is nearby. Thepush notification 460 may occur when the user mobile device 200 (notshown) is within a range 302 (not shown) of a beacon 300 (not shown),such as shown in FIG. 1 .

FIG. 6D illustrates a view of a user GUI 202. The GUI 202 displays aselectable contact list 224. The contact list 224 may be useful with anactive method (such as Option 2 in FIG. 5 ). The contact list 224includes one or more contacts 226. Checkboxes 228 appear next to thecontacts 226. The checkboxes 228, which are checked, denote that theuser has selected the corresponding contacts 226 to be sent anotification (such as the text message 462 in FIG. 6E).

FIG. 6E illustrates a view of a user GUI 222. The GUI 222 displays atext message 462. The text message 462 may be associated with thegenerate and send step as illustrated in FIG. 5 .

FIG. 7 illustrates a flowchart of a method of the present disclosure.The flowchart illustrates the method of adding a locus to a locus listof the user, contacts, or both and the method of assigning a locus toone or more contacts. The user accesses a locus list and thereafternavigates a locus list. The user optionally adds a locus, if the locusis not already saved in the locus list, or selects a locus, if the locusis already saved in the locus list. Upon addition and/or selection of alocus, the user assigns one or more contacts to the locus.

FIG. 8A illustrates a view of a user GUI 202. The GUI 202 displays amenu of loci 304. An icon 230 indicates whether there are and how manyof contacts are assigned to the locus. The GUI 202 corresponds to themethod shown in FIG. 7 .

FIG. 8B illustrates a view of a user GUI 202. The GUI 202 displays acustomization menu 232. The customization menu 232 may be accessed afterselecting a locus 304, such as shown in the GUI 202 of FIG. 8A. In thismenu 232, the user may see what contacts 226 are already assigned to thelocus 304. In this menu 232, the user may choose to assign othercontacts 226 to that locus 304.

FIG. 8C illustrates a view of a user GUI 202. The GUI 202 displays aloci search menu 234. The loci search menu 234 may be associated withthe flowchart as shown in FIG. 6 . The user may search for loci 304 viaa keyword search or a category search 236 (“grocery store” category, asshown).

FIG. 8D illustrates a view of a user GUI. The GUI 202 may display ascreen associated with the flowchart shown in FIG. 7 . The user maysearch for loci 304 by navigating the loci search menu 234 (as shown inFIG. 8C). A locus 304 may be selected and thereafter displayed on a map238. The map 238 may be useful for the user to determine whether theloci 304 is of the desired location. Upon confirmation, the loci 304 maybe added to the saved loci menu 240 (not shown).

FIG. 9 illustrates a flowchart of a method of the present disclosure.The flowchart illustrates the method of creating, importing, andmanaging contacts. The user accesses the contact list stored on theuser's computing device. The user may optionally import one or morecontacts from a contact list application on the user's computing deviceor the user may manually input one or more contacts. The user maynavigate a locus list. During navigation of the locus list, the user mayselect one or more of the contacts to associate with one or more loci(i.e., “favorite contact”).

FIG. 10 illustrates a screenshot of a user GUI 202. The GUI 202 displaysa contact information menu 242. The contact information menu 242 mayallow for manually inputting contact information, such as illustrated inflowchart in FIG. 9 or editing contact information. Contact informationmay include information related to each contact 226. Contact informationmay include a contact name 244, email 246, birthday 248, age 250, and/orgender 252. The contact information menu 242 may also include userhistory 254 associated with the contact 226.

FIG. 11 illustrates a database tables 256, such as implemented in Option1 in FIG. 5 . The database tables 256 include a locus table 256 a and acontact table 256 b. The locus table 256 a correlates a plurality ofloci 304 with corresponding beacon signals 258. The contact table 256 bcorrelates a plurality of contacts 226 with corresponding beacon signals258. The rules of the present disclosure may determine if a retailer anda contact have corresponding beacon signals. If so, a notification maybe automatically sent to a contact or the application can suggest to auser to send a notification to the contact.

EXAMPLES

The application of the present disclosure may provide for a user toautomatically notify one or more contacts that the user is passing by aretailer or service provider. For example, the user may be driving on aroad and may enter the range (i.e., the proximity) of the beacon signal,the range being one mile from the retailer. The application maythereafter notify the user, the contacts, or both, that the user iswithin the range of the retailer. The contacts may select for the userto stop at the retailer, the user may select to notify the contacts thatthe user is nearby the retailer or both. Where the application notifiesthe contacts that the user is nearby a retailer, the notification may beautomatic. Where the user selects to notify the contacts, the user maymanually select the contacts to be notified.

The application of the present disclosure may provide for the user toautomatically notify one or more contacts that the user is entering thepremises of a retailer or service provider. For example, the user may bestopping into a retailer on the way home from work and upon entering theparking lot of the retailer, the user may enter the range (i.e., theproximity) of the beacon signal, the range being a radius around theretailer that may encompass the parking lot of the retailer. Theapplication may thereafter notify the user, the contacts, or both, thatthe user is within the range of the retailer. The contacts may selectfor the user to stop at the retailer, the user may select to notify thecontacts that the user is nearby the retailer or both. Where theapplication notifies the contacts that the user is nearby a retailer,the notification may be automatic. Where the user selects to notify thecontacts, the user may manually select the contacts to be notified.

The application of the present disclosure may provide for a contact of auser to request a product or service from the user. For example, thecontact of the user may send a notification to the user that they need aproduct from a particular retailer; the application may then notify theuser when the user as soon as the request is sent or when the user is ina range of the retailer.

The application of the present disclosure may provide for a contact of auser to send a shopping list to the user via accessing a retailerinventory and performing one or more inventory selections. For example,the application may display a retailer inventory of the retailer wherethe user is present or within a range of The application may display,for the one or more contacts of the user, a real-time inventory of theretailer and the one or more contacts may select products from theretailer inventory (i.e., inventory selections) that are needed. As aresult of this feature, the one or more users may avoid making aselection of the product that the retailer does not have in stock andthereby prevent wasted time of the user in searching for the desiredproduct.

Any numerical values recited in the above application include all valuesfrom the lower value to the upper value in increments of one unitprovided that there is a separation of at least 2 units between anylower value and any higher value. These are only examples of what isspecifically intended and all possible combinations of numerical valuesbetween the lowest value and the highest value enumerated are to beconsidered to be expressly stated in this application in a similarmanner. Unless otherwise stated, all ranges include both endpoints andall numbers between the endpoints.

The terms “generally” or “substantially” to describe angularmeasurements may mean about +/−10° or less, about +/−5° or less, or evenabout +/−1° or less. The terms “generally” or “substantially” todescribe angular measurements may mean about +/−0.01° or greater, about+/−0.1° or greater, or even about +/−0.5° or greater. The terms“generally” or “substantially” to describe linear measurements,percentages, or ratios may mean about +/−10% or less, about +/−5% orless, or even about +/−1% or less. The terms “generally” or“substantially” to describe linear measurements, percentages, or ratiosmay mean about +/−0.01% or greater, about +/−0.1% or greater, or evenabout +/−0.5% or greater.

The term “consisting essentially of” to describe a combination shallinclude the elements, ingredients, components, or steps identified, andsuch other elements ingredients, components or steps that do notmaterially affect the basic and novel characteristics of thecombination. The use of the terms “comprising” or “including” todescribe combinations of elements, ingredients, components, or stepsherein also contemplates embodiments that consist essentially of theelements, ingredients, components, or steps.

Plural elements, ingredients, components, or steps can be provided by asingle integrated element, ingredient, component, or step.Alternatively, a single integrated element, ingredient, component, orstep might be divided into separate plural elements, ingredients,components, or steps. The disclosure of “a” or “one” to describe anelement, ingredient, component, or step is not intended to forecloseadditional elements, ingredients, components, or steps.

REFERENCE NUMBER LISTING

10—System; 20—Processor; 30—Storage Media; 32—Application; 50—Database;55—Retailer Database; 60—Retailer Computing Device; 80—Cell Network;82—Cell Tower; 90—Internet Network; 92—Internet; 202—Graphic UserInterface (GUI); 223—Alert Screen; 222—Main Menu; 224—Contact List;226—Contacts; 228—Checkboxes; 230—Icon; 232—Customization Menu; 234—LociSearch Menu; 236—Category Search; 238—Map; 240—Saved Loci Menu;242—Contact Information Menu; 244—Contact Name; 246—Email; 248—Birthday;250—Age; 252—Gender; 254—User History; 256—Database Tables; 256 a—LocusTable; 256 b—Contact Table; 258—Beacon signal; 304—Locus; 300—Beacon;302—Range; 460—Push Notifications; 462—Text Message; Option 1—PassiveMethod; Option 2—Active Method

What is claimed is:
 1. One or more non-transitory computer storage mediastoring computer-executable instructions that, when executed by acomputing device having a processor, cause the computing device toperform a method that provides concise and facilitated communicationbetween a user and one or more contacts, the method comprising: (a)assigning one or more contacts to a retailer, the retailer being definedby a location, in a database table; (b) tracking a location of a usermobile device; (c) automatically generating, without interaction of auser, a first notification, at least informing the one or more contactsof a location of the user mobile device, to transmit from the usermobile device to one or more contact mobile devices, which are remotefrom the retailer, based on an associated protocol; wherein theassociated protocol comprises automatically comparing, withoutinteraction of the user, the location of the user mobile device to thelocation of the retailer assigned to the one or more contacts; (d)automatically and substantially instantaneously transmitting, withoutinteraction of the user, the first notification to the one or morecontact mobile devices assigned to the location if the location of theuser mobile device coincides or is at least proximate to the location ofthe retailer to which the one or more contacts are assigned; and (e)receiving a shopping list from the one or more contact mobile devices;wherein the shopping list includes one or more goods, services, or bothassociated with the retailer.
 2. The one or more non-transitory computerstorage media of claim 1, wherein before the step of generating a firstnotification, the method comprises: inquiring the user for a mode ofcontact, and receiving, from the user, a first input comprising the modeof contact.
 3. The one or more non-transitory computer storage media ofclaim 2, wherein the mode of contact includes manually selecting the oneor more contacts in the selectable contact list.
 4. The one or morenon-transitory computer storage media of claim 1, wherein the methodincludes a step, performed after the step (d), of prompting the one ormore contact mobile devices for a second input.
 5. The one or morenon-transitory computer storage media of claim 4, wherein the secondinput comprises one or more inventory selections; and wherein the one ormore inventory selections include one or more products chosen from aretailer inventory, the retailer inventory corresponding to a retailerassociated with the location of the retailer.
 6. The one or morenon-transitory computer storage media of claim 5, wherein the secondinput generates a second notification comprising the one or moreinventory selections.
 7. The one or more non-transitory computer storagemedia of claim 6, wherein the one or more inventory selections receivedfrom one or more contacts are consolidated on a shopping list.
 8. Theone or more non-transitory computer storage media of claim 7, whereinthe one or more inventory selections that are redundant are filtered outof the shopping list.
 9. The one or more non-transitory computer storagemedia of claim 8, wherein the first notification, the secondnotification, or both, are generated via a dedicated application. 10.The one or more non-transitory computer storage media of claim 8,wherein the first notification, the second notification, or both aregenerated via a messaging application; wherein the messaging applicationis a short messaging service, a multimedia messaging service, over thetop, or any combination thereof
 11. The one or more non-transitorycomputer storage media of claim 1, wherein the method includes a step,performed after the step (c), of providing the user a prompt to eithersend the first notification or not send the first notification to theone or more contact mobile devices.
 12. The one or more non-transitorycomputer storage media of claim 1, wherein the method includes a step,performed before the step (a), of accessing a contact list from acontact list application, importing one or more contacts from thecontact list to a dedicated application, or both.
 13. The one or morenon-transitory computer storage media of claim 1, wherein the locationof the user mobile device is tracked by global positioning system,cellular location positioning, WiFi positioning, Bluetooth positioning,the like, or any combination thereof.
 14. The one or more non-transitorycomputer storage media of claim 13, wherein a boundary is applied to thelocation of the retailer, the location of the user mobile device, orboth; wherein if the location of the user mobile device or any portionof the boundary thereof coincides with the location of the retailer orany portion of a boundary thereof, the first notification istransmitted.
 15. The one or more non-transitory computer storage mediaof claim 14, wherein the location of the user mobile device is obtained,via an application programming interface, from an application thatprovides location enabled services.
 16. The one or more non-transitorycomputer storage media of claim 15, wherein the location of the usermobile device is obtained from a GPS receiver, a cellular receiver, aWiFi receiver, a radio receiver, or any combination thereof, which islocal to the user mobile device.
 17. The one or more non-transitorycomputer storage media of claim 16, wherein the location of the retaileris defined by GPS coordinates, an address, or both.
 18. The one or morenon-transitory computer storage media of claim 17, wherein the locationof the retailer relative to a user mobile device is defined by signalstrength between the user mobile device and a WiFi hotspot and/or a WiFiaccess point.